package com.chengyu.core.service.walk;

import com.chengyu.core.domain.form.TrendsForm;
import com.chengyu.core.domain.result.WalkTrendsCommentResult;
import com.chengyu.core.domain.result.WalkTrendsResult;
import com.chengyu.core.entity.CommonPage;
import com.chengyu.core.entity.CommonResult;
import com.chengyu.core.exception.ServiceException;
import com.chengyu.core.model.*;

import java.text.ParseException;
import java.util.Date;
import java.util.List;

/**
 * @title  动态管理-动态下载申请次数
 * @author LeGreen
 * @date   2022/5/19
 */
public interface WalkTrendsDownloadNumService {

	/**
	 * 添加下载次数申请
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  walkTrendsDownloadNum
	 * @throws ServiceException 业务异常
	 */
	void addDownloadNum(Integer trendsId ,Integer type ,WalkTrendsDownloadNum walkTrendsDownloadNum,WalkMember walkMember,UmsMember umsMember) throws ServiceException, ParseException;

	/**
	 * 显示下载次数申请记录
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  walkMemberId
	 * @throws ServiceException 业务异常
	 */
	CommonPage<WalkTrendsDownloadNum> listDownloadNum(Integer source,Date dateFrom, Date dateTo, Integer shopId, Integer status, Integer type , Integer walkMemberId, Integer page, Integer pageSize,Integer deleteStatus) throws ServiceException;

	/**
	 * 显示下载次数申请记录-去使用的时候显示
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  walkMemberId
	 * @throws ServiceException 业务异常
	 */
	CommonPage<WalkTrendsDownloadNum> listDownloadNumToUse(Integer goodsId,Integer type ,Integer walkMemberId,Integer page, Integer pageSize) throws ServiceException;


	/**
	 * 修改下载次数申请
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  walkTrendsDownloadNum
	 * @throws ServiceException 业务异常
	 */
	void editDownloadNum(WalkTrendsDownloadNum walkTrendsDownloadNum) throws ServiceException;

	/**
	 * 删除下载次数申请
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  id
	 * @throws ServiceException 业务异常
	 */
	void delDownloadNum(Integer id) throws ServiceException;

	/**
	 * 删除下载次数申请-用户假删除
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  id
	 * @throws ServiceException 业务异常
	 */
	void delDownloadNumByMember(Integer id) throws ServiceException;
}